Method of and apparatus for tracking appended data on storage medium

ABSTRACT

In a data storage system in which a sequence of data blocks is written onto a medium, appended data is distinguished by including in the first and subsequent appended data blocks an append point code uniquely identifying the location of the first appended data block. Where the data blocks have a running block number or frame number, the block or frame number of the first appended data block is stored as the append point code. This clearly identifies the most recent append point location which will aid in processes such as tracking calibration data integrity confirmation and track positioning.

FIELD OF THE INVENTION

This invention relates to data storage apparatus and methods and inparticular, but not exclusively, to such apparatus and methods in whicha data group or record may be appended to an earlier written group orrecord.

BACKGROUND OF THE INVENTION

Data may typically be written onto a storage medium, such as magnetic ormagneto-optic media in the form of a sequence of data blocks identifiedby a unique block identifier. A varying number of these data blocks maybe grouped together to form a data group or other group that may be usedto designate certain areas of the medium, e.g. End Of Data. The datagroup is typically the smallest entity that can be written to thismedium and contains user data.

The operation of adding new data groups to a medium which already hasexisting data groups written upon it is referred to herein as“appending”. In addition data groups may be written over previouslywritten data with the result that there may be a boundary at one or bothends of the newly written data between previously written and the newlywritten data. For convenience such newly written data is also referredto herein as “appended”.

The conditions during the appending operation may differ from thoseprevailing during the original writing, operation; thus the recordingapparatus may be different, the position, orientation etc. of the writehead or heads may be slightly different, the magnetic medium transportmechanism may be slightly different, and so certain characteristics ofthe appended data (e.g. physical, logical, positional, electrical, etc)may differ from those of the previously written data. In some cases, thereading apparatus may be tolerant of such differences, and these effectsmay be immaterial. However many types of data storage and retrievalequipment are run at the edge of the performance envelope to maximisestorage capacity and storage speed, and so apparently slight changes insuch characteristics can cause tremendous problems. For example, in ahigh speed helical scan tape drive, it is important to be able todetermine the average track height, i.e the average height of the trackrelative to the lower edge of the tape, so that the appropriate readhead starts reading at the correct position. It is often necessary insuch drives to re-calibrate the track height for the appended data,because the track height for the original data will not be the same asfor the appended data. There are of course other characteristics whichmay change in the appended data and for which new parameters need to bedetermined. Accordingly during reading, it is usually necessary to stopthe tape at each boundary between original and appended data and toreverse it to before the transition or boundary and traverse theboundary region slowly to locate the boundary and then to re-calibrateto obtain the new parameters. Such a procedure is time-consuming anddiminishes the performance of the drive.

An example of a typical standard for storing data is described inStandard ECMA-236 “3.81 mm wide Magnetic Tape Cartridge for InformationInterchange-Helical Scan Recording—DDS-3 format using 125 m lengthTapes” which sets out the recording method and recorded format of atypical modern helical scan tape storage system known as Digital DataStorage (DDS), the entire contents of which are incorporated herein byreference.

In a DDS read/write mechanism using the format defined in that Standard,data are recorded on an elongate recording media, comprising tape coatedwith a magnetic medium, by a rotating drum carrying one or moreelectromagnetic heads. The tape is moved by a motor-driven capstan alonga path extending between two spools or reels and wrapped partiallyaround the drum. The plane of rotation of the drum is disposed at anangle to the plane of movement of the tape, so that each head traversesthe tape along successive tracks extending across the width of the tapeat an angle to its centreline. The mechanism includes appropriatecircuitry for encoding data into signals suitable for recording on tape,including error detection and correction codes, and for conditioningthose signals into a form which is optimally matched to thecharacteristics of the recording media. For data retrieval, additionalcircuitry is provided for detecting magnetic field variations stored onthe tape, deriving corresponding signals, conditioning those signalsinto a form suitable for subsequent processing, decoding the encodeddata, and detecting and correcting errors.

In both DDS and other types of data storage there is thus a need for astorage apparatus and method which allow the transition or the boundarybetween previously written and appended data to be precisely located.Accurate determination of this boundary allows considerable improvementsin performance when reading a medium containing appended data. Not onlydoes it allow the medium to be moved accurately to the positioncorresponding to the boundary with minimal overrun, e.g. to allowparameters such as the average track height to be calibrated for theappended data, but following determination of the new parameters, thecontrol system may use the fact that the location of the append pointcan be accurately determined, to synchronise changing the parameterswith the end of the previously written data. Furthermore, those skilledin the art will appreciate that the ability readily to identify whetherthe data is appended or not, and if so the precise location of theappend point will be extremely useful in other processes which monitoror assess the data being read back, e.g. monitoring the continuitythereof, and distinguishing ‘old’ data.

SUMMARY OF THE INVENTION

Accordingly, in one aspect this invention provides a method of storingdata on a storage medium which comprises:

assembling said data into one or more groups each comprising one or moredata blocks;

determining whether said one or more groups of data blocks are to beappended to previously written data on said medium;

including in at least some of any appended data blocks of said groups ablock order code indicating the order of said data block relative to theremainder thereof;

incorporating in the or each group of appended data blocks an appendpoint code identifying the order of the first appended data block, andstoring said one or more groups on said storage medium,

whereby the location of the boundary between previously written data andthe appended data may be determined subsequently by extracting theappend point code from one or more of said appended data blocks.

Although it would be possible to include the block order code in theappended blocks only, the block order code may often be required forother processing routines, and so the block order code is preferablyincluded in both appended and non-appended data blocks.

Although the invention is broadly applicable to a wide range of datastorage appliances, it is particularly applicable to devices whereinsaid data is written by relative movement of a write head and thestorage medium. In this instance said method preferably further includesdetermining the location of the boundary between the previously writtendata and the appended data as set out above and using said determinationto position one or more of the read, write and erase head physicallyadjacent said boundary.

In another aspect, this invention provides apparatus for storing astream of data on a storage medium, which comprises:

data assembly means for assembling said data into one or more groupseach comprising one or more data blocks for being written onto saidstorage medium;

appendency determining means for determining whether said data is to beappended to data previously written on said medium;

block ordering means for including in at least some of those data blockscomprising appended data a block order code indicating the order of saiddata block relative to the remainder thereof;

means for incorporating in the or each group of the appended data blocksan append point code identifying the is block order code of the firstappended data block;

means for writing said data blocks in series on said storage medium, and

append point determining means operable on reading appended data, todetermine the location of the boundary between the appended andpreviously written data by reference to the append point code from oneof said appended data blocks.

In another aspect, this invention provides apparatus for reading astream of data from a storage medium on which is stored one or moreearlier groups of one or more data blocks and at least one appendedgroup of one or more data blocks, wherein at least some of the datablocks of said at least one appended group each include a block ordercode identifying the order of said data block relative to the remainderthereof, and an append point code identifying the block order code ofthe first appended data block;

said apparatus including read means for reading said appended datablocks from said storage medium, and

processing means for extracting the respective append point code from anappended data block, to determine the location of the boundary betweenthe previously written data and the appended data.

Preferably said read means comprises a read head relatively movable withrespect to said storage medium, and said apparatus further includesstorage medium drive means responsive to said processing means to locatesaid read head adjacent said boundary.

The apparatus preferably also includes calibration means for calibratingthe signal received by said read means, said calibration means beingresponsive to determination of the boundary identified by saidprocessing means to initiate or invoke a fresh calibration routine.

In yet a further aspect there is provided a method for monitoring datawritten in accordance with the method defined above, which comprisesreading said data, monitoring the append point codes of successiveblocks and generating an old data alert if the append point code in ablock indicates an append point which precedes that indicated by theappend point of a preceding data block.

Whilst the invention has been described above, it extends to anyinventive combination of features set out above or in the followingdescription.

BRIEF DESCRIPTION OF THE DRAWINGS

An embodiment of the invention will now be described by way of exampleonly, reference being made to the accompanying drawings in which:

FIG. 1 is a block diagram of the main components of a data storage andretrieval apparatus; FIG. 2 is a block diagram representing thestructure of a data track recorded on tape; FIG. 3 is a diagramrepresenting a Main Data Fragment; and FIG. 4 is a block diagram of aread cycle routine.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENT

The embodiment of tape storage and retrieval apparatus described belowis based on the DDS 3 Standard defined in Standard ECMA 236. Initiallythe main components of a DDS 3 tape storage and retrieval apparatus willbe described and thereafter the modifications thereof which implement anembodiment of this invention will be described.

Referring to FIG. 1, the tape storage and retrieval apparatus utilizes ahelical scan technique for storing data in oblique tracks on a recordingtape in a format similar to that used for the storage of PCM audio dataaccording to the DAT Conference Standard (June 1987 ElectronicIndustries Association of Japan, Tokyo, Japan). The present apparatusis, however, adapted for storing computer data rather than digitizedaudio information. The apparatus includes a helical-scan tape deck 11 inwhich tape 10 passes at a predetermined angle across a rotary head drum(not shown) with a wrap angle of approximately 90°. In operation, thetape 10 is moved from a supply reel 13 to a take-up reel 14 by rotationof a capstan 15 against which the tape is pressed by a pinch roller; atthe same time, the head drum is rotated. The head drum houses twodiametrically opposed read heads H_(R)A, H_(R)B and two diametricallyopposed write heads H_(W)A, H_(W)B, offset by 90°. In known manner,these heads H_(W)A, H_(W)B are arranged to write overlapping obliquetracks across the tape 10. The track written by H_(W)A has a positiveazimuth while that written by head H_(W)B has a negative azimuth; eachpair of positive and negative azimuth tracks constitutes a frame. Thetracks are used to store data provided to the apparatus (main data),together with items of auxiliary information known as sub-codes, whichwill be described in more detail below. The tracks also containsynchronization bytes (‘sync bytes’) to enable data byte boundaries tobe identified, and which are used to generate timing signals forcontrolling tape movement relative to the heads H_(W)A, HB_(W), H_(R)Aand H_(R)B. Pre-amble blocks included in the tracks contain timing datapatterns to facilitate timing synchronization on playback. In additionto the tape deck 11, the apparatus includes an interface unit 40 forinterfacing the apparatus with a computer (not shown); a group processor44 and a frame data processor 41 for processing main data and sub-codesinto and out of a Main Data Fragment; a signal organizer 42 forcomposing/decomposing the signals for writing/reading a track and forappropriately switching the four heads H_(W)A, H_(W)B, H_(R)A and H_(R)Band a system controller 43 for controlling the operation of theapparatus in response to commands received from a computer via theinterface unit 40. Each of the main component units of the apparatuswill be further described below.

The data storage and retrieval apparatus is arranged to respond tocommands from a computer to load/unload a tape, to store a data recordand other logical segmentation marks, to search for a selected recordusing the segmentation is marks, and the read back the next record.

The interface unit 40 is arranged to receive the commands from thecomputer and to manage the transfer of data records and logical datasegmentation marks between the apparatus and computer. Upon receiving acommand from the computer, the unit 40 passes it on to the systemcontroller 43 which, in due course will send a response back to thecomputer via the unit 40 indicating compliance or otherwise with theoriginal command. Once the apparatus has been set up by the systemcontroller 43 in response to a command from the computer to store orread data, then the interface unit 40 will also control the passage ofrecords and segmentation marks between the computer and the groupprocessor 44.

During data storage the group processor 44 is arranged to segment thedata provided to it in the form of data records into data packages(referred to as groups) each containing an amount of data (384,296 bytesin DDS 3) corresponding to a fixed number of frames (for example,twenty-two plus an optional twenty-third frame if a third level of errorcorrection C3 is employed), with an index which holds informationregarding the logical segmentation of the data (record divisions, filemarks) which is generated by the processor 44. Each frame comprises twotracks. The processor 44 also generates certain sub-codes whose contentsare group-dependent or concern the logical segmentation of data. Tofacilitate these tasks and the transfer of data to and from theprocessor 44, the latter is provided with a large buffer 74 which isarranged to hold several (for example, three) group's worth of data.Once a group, including its index, has been assembled, it is transferreda frame at a time to the frame data processor 41. In order to speed thetransfer of data between the processors 44 and 41, it is advantageousfor the frame data processor 41 to be managed in terms of groups forreceiving data from the processor 44—in other words, during recording,the processor 41 is told by the group processor 44 when a group is readyfor processing after which the processor 41 accesses the frames of thegroup autonomously from the buffer 74.

When data are being read from tape, the group processor 44 is arrangedto receive main data on a frame-by-frame basis, the data being writteninto the buffer 74 in such a manner as to build up a group. The groupprocessor 44 can then access the group index to recover information onthe logical organization (record structure, file marks) of the main datain the group. Using this information the group processor can pass therequested record or segmentation mark to the computer via the interfaceunit 40.

The frame data processor 41 functionally comprises a Main-Data-Area(MDA) processor 65 and a sub-code unit 67 with an associated electronicmemory 68 for tape usage data (in practice, these functional elementsmay be constituted by a single microprocessor running appropriateprocesses under program control).

The sub-code unit 67 is arranged to provide sub-codes to the processor65 as required during recording and to receive and distribute sub-codesfrom the processor 65 during playback. Dependent on their informationcontents, sub-codes may be generated/required by the group processor 44or the system controller. In the case of non-varying sub-codes such ascertain recording parameters, the sub-codes may be permanently stored inthe unit 67. Furthermore, frame-dependent sub-codes may conveniently begenerated by the sub-code unit 67 itself.

The MDA processor 65 is arranged to process a frame's worth of main dataat a time together with the associated sub-codes. Thus during recording,the processor 65 receives a frame's worth of main data from the groupprocessor 44 together with sub-codes from the unit 67. On receiving themain data the processor 65 interleaves the data, and calculates errorcorrecting codes and parity values, before assembling the resultant dataand sub-codes relating to the two tracks making up a frame. Beforeassembling the main data with the sub-codes, scrambling (randomizing) ofthe data may be effected to ensure a consistent RF envelope independentof the data contents of a track signal.

During playback, the processor 65 effects a reverse process on thecontents of the same frame. Unscrambled error-corrected andde-interleaved main data are passed to the group processor 44 andsub-codes are separated off and distributed by the unit 67 to theprocessor 44 or system controller 43 as required.

The signal organizer 42 comprises a formatter/separator unit 53 whichduring recording (data writing) is arranged to assemble the trackcontents provided by the frame data processor 41, to form the signalincluding sync bytes to be recorded on each successive track. Thenecessary preamble patterns are also inserted into the track signalswhere necessary by the unit 53. Timing signals for coordinating theoperation of the unit 53 with rotation of the heads H_(W)A, H_(W)B, areprovided by a timing generator 54 fed with drum position signals outputby a pulse generator 50 responsive to head drum rotation and located inthe tape deck 11. The track signals output on line 55 from the unit 53are passed alternately to head H_(R)A and head H_(R)B via a head switch56, respective head drive amplifiers 57, and a rotary transformer (notshown) which is incorporated in the rotary head drum and which providescontact-less connection to the heads H_(R)A, H_(R)B, H_(W)A and H_(W)B.The head switch 56 is operated by appropriate timed signals from thetiming generator 54.

During playback (data reading) the track signals alternately generatedby the heads H_(R)A and H_(R)B are fed via the rotary transformer,respective read amplifiers 59, a second head switch 60, and a clockrecovery circuit 61, to the input of formatter/separator unit 53. Theoperation of the head switch 60 is controlled in the same manner as thatof the head switch 56. The unit 53 now serves to generate signalsindicating the timing of the predetermined regions (incorporating thesync bytes) in the track signals, to supply the timing signals to anautomatic track following (ATF) circuit 49 in the tape deck 11, and topass the track contents to the frame data processor 41. Clock signalsare also passed to the processor 41 from the clock recovery circuit 61.

During reading, the system controller 43 also controls the timing of theread cycles to ensure that the read heads H_(R)A and H_(R)B do not startreading the tracks too early or too late. For this purpose the systemcontroller 43 monitors various parameters including the average trackheight, that is the vertical separation of the start of the track fromthe lower edge of the tape. As the height increases or decreases, so theread heads H_(R)A and H_(R)B need to start reading later or earlier inthe read cycle. The system controller 43 accordingly maintains a valuerepresenting the track height and uses this to control timing of theread cycle.

The tape deck 11 has four servos, namely a capstan servo 45 forcontrolling the rotation of the capstan 15, first and second reel servos46, 47 for controlling rotation of the reels 13, 14 respectively, and adrum servo 48 for controlling the rotation of the head drum. Each servoincludes a motor M and a rotation detector D both coupled to the elementcontrolled by the servo. Associated with the reel servos 46, 47 is adetector 51 for sensing the ends of the tape: beginning of media (BOM)and end-of media (EOM); this detector 51 may be based for example onmotor current sensing, as the motor current of whichever reel is beingdriven to wind in tape (dependent on the direction of tape travel) willincrease significantly upon stalling of the motor at BOM/EOM.

The operation of the tape deck 11 is controlled by a deck controller 52which is connected to the servos 45 to 48 and to the BOM/EOM detector51. The controller 52 is operable to cause the servos to advance thetape, (either at normal speed or at high speed) through any requireddistance. This control is effected either by energizing the servos for atime interval appropriate to the tape speed set, or by feedback of tapedisplacement information from one or more of the rotation detectors Dassociated with the servos, by extracting logical position informationfrom the sub-codes.

The deck controller 52 is itself governed by control signals issued bythe system controller 43. The deck controller 52 is arranged to outputto the controller 43 signals indicative of BOM and EOM being reached.

The system controller 43 serves both to manage high-level interactionbetween the computer and storage apparatus and to co-ordinate thefunctioning of the other units of the storage apparatus in carrying outthe basic operations of Load-Record-Search-Playback-Unload requested bythe computer. In this latter respect, the controller 43 serves toco-ordinate the operation of the deck 11 with the data processingportion of the apparatus.

In controlling the tape deck 11, the system controller can request thedeck controller 52 to move the tape at the normal read/write speed(Normal) or to move the tape forwards or backwards at high speed, thatis Fast Forward (F.FWD) or Fast Rewind (F.RWD).

Having described the apparatus in detail, the structure of the data andin particular the sub-codes will now be described, with particularreference to DDS 3, although this is for illustrative purposes only asthe invention is not limited to DDS systems. In the DDS 3 scheme, datato be recorded is assembled into basic groups of 384 296 bytes. As notedabove, each group is divided into 22 frames (plus an optional 23rd frameif third level error correction C3 is used), each frame being writtenonto tape in the form of two adjacent tracks of opposite azimuth.Referring to FIG. 2, each track consists of two margin zones 80, apreamble zone 82, and a main data zone 84 comprising a series of 96 MainData Fragments.

The structure of a Main Data Fragment is shown in FIG. 3. From this itwill be seen that each Main Data Fragment has a fragment header of eightbytes followed by 124 data bytes. of the header bytes, four bytesidentified SC0 to SC3 contain one pack item of sub-code information.Sub-code information is embedded along each track within the fragmentheader. The sub-code information specifies information such as therunning number of the group, the number of separators written since thebeginning of the tape, the number of records written since the beginningof the tape, information about the track contents and information aboutthe history of the tape. The sub-code information is arranged as 4-bytepack items and, in DDS3, there are 16 different pack items and 96 MainData Fragments per track and so, if all 16 pack items were repeated in atrack, each track would contain 6 of any particular pack item. However,depending on the nature of the recording process in some instances onlythe first 8 pack items are included and so these would be repeated 12times in a particular track.

In the present embodiment, use is made of pack item No. 4 (which in DDS3 is allocated to the Absolute Frame Number), and pack item No. 7 (whichin DDS 3 is set to all zeros and has no set function). The AbsoluteFrame Number is a running number identifying the current frame, startingwith 1 for the first frame after the logical beginning of tape. Giventhe typical pitch of the tracks making up the frame on the tape and themaximum length of the tape, the four bytes available allow a number(2³²−1) high enough to ensure that the absolute frame number on the tapeis unique and not repeated.

The system controller 43 operates during an append operation in whichdata is appended to data already on tape to read the previously recordeddata to determine the Absolute Frame Number of the last frame of thepreviously recorded data. This information is required, inter alia toensure that the seamless or non-seamless appending rules of the ECMAstandard are obeyed in generating the Absolute Frame Number of the firstappended data frame.

In this embodiment, the Absolute Frame Number of the first appendedframe is stored in pack item No. 7 of subsequent Main Data Fragments inall appended data.

Referring to FIG. 1, when the apparatus is recording appended data, thesystem controller 43 determines the Absolute Frame Number of the firstframe of the appended group and supplies this to the frame dataprocessor 41 to store it in the sub-code unit 67 so that the unit 67sets the bytes of pack item No. 7 to specify in binary the AbsoluteFrame Number of the most recent appended frame up to and including thecurrent frame. If there have been no appended frames up to an includingthe current frame, the sub-code unit 67 sets the bytes to the AbsoluteFrame Number corresponding to the first data frame, which in DDS3 is 151decimal.

Accordingly, the AFN append point code is stored in all subsequent famesand therefore allows the system controller 43 quickly to determine wherethe last append point was, and to control the capstan servo 45, the reelservos 46,47 and the drum servo 48 to position the heads HA and HBadjacent the append point of the tape. The sub-codes, including the AFNAppend point code, can be read either at normal read speed or at fastread speed.

This operation is repeated for successive append points such that theimmediately previous append point can be readily determined at any pointon the tape.

When the apparatus is reading recorded data, the frame data processor 41strips out the sub-codes which are processed by the sub-code unit 67which makes pack items Nos 4 and 7 available to the system controller43, so that the system controller is able to distinguish whether data isappended data and, if so to identify precisely the AFN append point.Thus, knowing the Absolute Frame Number of a particular frame, and theAppend point code, the system controller 43 can determine by how manyframes the mechanism needs to move the tape to reach the append point.

On the read cycle, as noted above, the system controller adjusts thetiming of the cycle on the basis of the average track height. If data iswritten onto the first part of a tape using one machine and then, duringa subsequent groups operation (on either the same or a differentmachine) data records are appended to those already on tape, the averagetrack height for the earlier groups may well differ substantially fromthose required for the later record. When conventional tape storage andretrieval devices read across the interface between original andappended data, a substantial change in average track height willnormally mean that the machine is unable to read data after the appendpoint and will need to recalibrate by undergoing a calibration routineover the first appended group. The present embodiment identifiesprecisely the location of the first frame of the first appended group toenable such calibration to take place.

The system controller 43 then performs an algorithm as set out in FIG.4. Thus the 22/23 frames making up a group are read and the ECCcorrection codes employed to determine at 86 whether the data group hasbeen read successfully. If the data group is read successfully then theprocess repeats. If the data group is not read successfully, then thesystem controller 43 examines the data group at 88 to see whether theAbsolute Frame Number of the first frame in the group is the same as theappend point AFN marker. If they are the same, this confirms that thedata group is the first group of an appended data record. Thereupon thesystem controller 43 initiates a recalibration routine in which the tapeis reversed to the append point and the track height recalculated overthe first group and a read retry is carried out at 90. If the read retryis successful then the algorithm repeats to retrieve the next data groupand so on. If however the read retry is unsuccessful then either analternative read retry algorithm may be employed or the read operationis flagged as a failure. If the system controller determines at 88 thatthe data failure has not occurred at an append point, it may initiate analternative read retry algorithm at 92.

Accordingly, the system described above allows a unique and unambiguousidentification of the location of the append point (i.e. the interfacebetween a previous data record and the appended data record). Asdiscussed above, this can be used to allow the system controllerprecisely to position the tape adjacent the read/write drum so that theread heads read the first track of an appended data group. The insertionof the append point AFN marker in the first data block and in allsubsequent data blocks within the appended data group and in all datablocks of subsequent data groups up to the next appended group providesmany important benefits in addition to precise location of the appendpoint. For example, on a fast read, where the tape passes at high speedpast the read/write drum such that the read heads sample only a portionof the track, the append point AFN marker of successive fragments may beidentified from the sub-code information. In this way the systemcontroller 43 can clearly identify the previous append point locationson tape, which can be used to aid tracking calibration, data integrityconfirmation and track positioning.

The system controller 43 can also implement a routine to distinguishwhether data is “old” data. By “old” data is meant data remaining from aprevious write operation and which in some circumstances may beincorrectly taken to be from the latter part of the most recent writeoperation. This can happen for example when the machine is powercycled,where a false hybrid record may result made up of fresh data for thefirst part up to when there was no power, and the remnant of theoverwritten or “old” data for the second part. In this routine, thesystem controller monitors the append point codes as the data is readand flags an “old” data warning if the append point code decreases invalue at any point. Although this will not flag all occurrences of olddata, it does provide a reliable and rapid indicator, and may be used inconjunction with other conventional methods which utilise sub-codestored information to identify old data.

What is claimed is:
 1. A method of storing data on a storage mediumwhich comprises: assembling said data into one or more groups eachcomprising one or more data blocks; determining whether said one or moregroups of data blocks are to overwrite, or to be appended to, previouslywritten data on said medium; including in at least some of anyoverwriting or appended data blocks of said groups a block order codeindicating the order of said data block relative to the other datablocks on said storage medium; incorporating in the or each group ofoverwriting or appended data blocks an append point code identifying theblock order code of the first overwriting or appended data block, andstoring said one or more groups on said storage medium, whereby thelocation of the boundary between previously written data and theoverwriting or appended data may be determined subsequently byextracting the append point code from one or more groups of saidoverwriting or appended data blocks.
 2. A method of storing dataaccording to claim 1, wherein a block order code is included in all saiddata blocks.
 3. A method of storing data according to claim 1 whereinsaid data is written by relative movement of a write head and thestorage medium, said method further including using the determination ofthe location of the boundary between the previously written data and theoverwriting or appended data, to position a selected head physicallyadjacent said boundary.
 4. A method of storms data in accordance toclaim 1, which further comprises reading said data, monitoring theappend point codes of successive data groups and generating an old dataalert if the append point code in a group indicates an append pointwhich precedes that indicated by the append point of a preceding datagroup.
 5. Apparatus for storing a stream of data on a storage medium,which comprises: data assembly means for assembling said data into oneor more groups each comprising one or more data blocks for being writtenonto said storage medium; appendency determining means for determiningwhether said data is to be overwrite, or to be appended to data,previously written on said medium; block ordering means for including inat least some of those data blocks comprising overwriting or appendeddata a block order code indicating the order of said data block relativeto the other data blocks on said storage medium; means for incorporatingin the or each group of appended data blocks an append point codeidentifying the block order code of the first overwriting or appendeddata block; means for writing said data blocks in series on said storagemedium, and append point determining means operable on readingoverwriting or appended data to determine the location of the boundarybetween the overwriting or appended data and previously written data byreference to the append point code from one of said groups ofoverwriting or appended data blocks.
 6. Apparatus for reading a streamof data from a storage medium on which is stored one or more earliergroups of one or more data blocks and at least one overwriting orappended group of one or more data blocks, wherein at least some of thedata blocks of said at least one overwriting or appended group eachinclude a block order code identifying the order of said data blockrelative to the other data blocks on the storage medium, and each ofsaid overwriting or appended groups including an append point codeidentifying the block order code of the first overwriting or appendeddata block; said apparatus including read means for reading saidoverwriting or appended data blocks from said storage medium, andprocessing means for extracting the respective append point code from anoverwriting or appended group, to determine the location of the boundarybetween the previously written data and the appended data.
 7. Apparatusaccording to claim 6 wherein said read means comprises a read headrelatively movable with respect to said storage medium, and saidapparatus further includes storage medium drive means responsive to saidprocessing means to locate said read head adjacent said boundary. 8.Apparatus according to claim 6, including calibration means forcalibrating the signal received by said read means, said calibratingmeans being responsive to determination of the boundary identified bysaid processing means to initiate or invoke a fresh calibration routine.